1
תגובות
שאלה בקשר SUBSTR
פתח
pol292
,
הקוד:
דוגמה לקוד HTML:
משקורה כשאני מריץ את זה הפלט יוצא:
אני מנשה לעשות משהו כמו בTWIG שהיה אפשר בתוך קובץ הHTML להשתמש בתנאים לולאות ועוד...
אולי יש רעיון יותר פשוט?
private static function htmlEasyCode( $string )
{
$arr = array( ) ;
$started = false ;
$count = 0 ;
for ( $i = 0 ; $i < strlen( $string ) ; $i++ )
{
if ( !$started && $string[ $i ] == '{' && $string[ $i + 1 ] == '%' )
{
$arr[ $count ][ 'start' ] = $i;
$started = true ;echo $i."=>";
} elseif ( $started && $string[ $i ] == '%' && $string[ $i + 1 ] == '}' )
{
echo $i.","; $arr[ $count ][ 'ended' ] = $i ;
$count++ ;
$started = false ;
}
}
for ( $i = 0 ; $i < sizeof( $arr ) ; $i++ )
{
if ( isset( $arr[ $i ][ 'ended' ] ) )
$arr[ $i ] = substr( $string , $arr[ $i ][ 'start' ] , $arr[ $i ][ 'ended' ] ) ;
}
print_r( $arr ) ;
}
{
$arr = array( ) ;
$started = false ;
$count = 0 ;
for ( $i = 0 ; $i < strlen( $string ) ; $i++ )
{
if ( !$started && $string[ $i ] == '{' && $string[ $i + 1 ] == '%' )
{
$arr[ $count ][ 'start' ] = $i;
$started = true ;echo $i."=>";
} elseif ( $started && $string[ $i ] == '%' && $string[ $i + 1 ] == '}' )
{
echo $i.","; $arr[ $count ][ 'ended' ] = $i ;
$count++ ;
$started = false ;
}
}
for ( $i = 0 ; $i < sizeof( $arr ) ; $i++ )
{
if ( isset( $arr[ $i ][ 'ended' ] ) )
$arr[ $i ] = substr( $string , $arr[ $i ][ 'start' ] , $arr[ $i ][ 'ended' ] ) ;
}
print_r( $arr ) ;
}
דוגמה לקוד HTML:
{% p %}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
{% x %}
</body>
</html>
{% yyy %}
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
{% x %}
</body>
</html>
{% yyy %}
משקורה כשאני מריץ את זה הפלט יוצא:
0=>5,321=>326,352=>359,
Array ( [0] => {% p [1] => {% x %} {% yyy %} [2] => {% yyy %} )
Array ( [0] => {% p [1] => {% x %} {% yyy %} [2] => {% yyy %} )
אני מנשה לעשות משהו כמו בTWIG שהיה אפשר בתוך קובץ הHTML להשתמש בתנאים לולאות ועוד...
אולי יש רעיון יותר פשוט?